/**
 * 购物车时间计算js
 * create by WXL
 * createDate 2014-11-07
 * 注意：此js中，一年 = 12个月 = 360天，一月 = 30天，>20天 按照一个月，<=20天 忽略不计 
 */

/**
 * 计算两个时间段内相差的月份  返回月份 或者 年月日
 * 参数：nowDate（起始时间） , comDate （终止时间） , returnType （分为两种 'returnMonth' （返回相差月份） 和  'returnDate' （返回相差的年月日））
 * 例：2014-04-20  到  2014-09-02  月份为8个月 ，天数为12天  因此返回的月份为8个月
 */
function calculateMonth(nowDate,comDate,returnType){
	
	//计算起始时间的  年份月份天
	var nowYear = 0,nowMonth = 0,nowDay = 0;
	nowYear = nowDate.getFullYear();
	nowMonth = nowDate.getMonth()+1;
	nowDay = nowDate.getDate();
	
	//计算终止时间的  年份月份天
	var comYear = 0,comMonth = 0,comDay = 0;
	comYear = comDate.getFullYear();
	comMonth = comDate.getMonth()+1;
	comDay = comDate.getDate();
	
	//计算相差的年月日
	var tempYear = 0,tempMonth = 0,tempDay = 0,tday=0,_tm = 0,_ty = 0,_td = 0,t = 0;
	
	//计算年
	tempYear = comYear - nowYear;
	
	//计算月份
	tempMonth = tempYear * 12 + comMonth - nowMonth;

	//计算天数
	if(tempYear == 0 && tempMonth == 1) {
		tempDay = DateDiff(nowDate.Format("yyyy-MM-dd"),  comDate.Format("yyyy-MM-dd"));
	}else {
		tempDay = comDay - nowDay + tempMonth * 30;
	}

	_td = tempDay;
	
	//根据天数计算月份  大于30天 月份加一，剩余天数如果大于等于20天，也按照一个月来计算 
	if(tempDay >= 30){
		var tm = Math.floor(tempDay / 30);
		tempDay = tempDay - tm * 30;
		_tm = _tm + tm;
		if(tempDay > 20){
			_tm = _tm + 1;
		}
	}else if(tempDay > 20){
		_tm = _tm + 1;
	}
	
	//最终结果 以月份展现
	var month =  _tm;
	
	//根据月份计算年
	if(_tm >= 12){
		var ty = Math.floor(_tm / 12);
		_tm = _tm - ty * 12;
	}else{}
	
	//最终结果 以年月日展现
	t = Math.floor(_td / 30);
	_td = _td - t * 30;
	tm = t - Math.floor(t / 12) * 12;
	
	var date = Math.floor(t / 12) + '年' + tm + '月' + _td + '天';
	
	var returnPara;
	//根据所需要的返回类型选择返回数据
	if(returnType == 'returnMonth'){
		returnPara = month;
	}else {
		returnPara = date;
	}
	
	return returnPara;
}
